<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: huajie <banhuajie@163.com>
// +----------------------------------------------------------------------

namespace Admin\Model;
use Think\Model;


/**
 * 文档基础模型
 */
class GoodsModel extends Model{

    /* 自动验证规则 */
    protected $_validate = array(
        array('name', 'require', '商品名称不能为空', self::MUST_VALIDATE , 'regex', self::MODEL_INSERT),
		array('name', '', '该商品已存在', self::EXISTS_VALIDATE, 'unique'), //用户名被占用,
    );


	/**
	 * 后置操作方法
	 * 自定义的一个函数 用于数据保存后做的相应处理操作, 使用时手动调用
	 * @param int $goods_id 商品id
	 */
	public function afterSave($goods_id)
	{

		// 商品规格价钱处理
		$specGoodsPrice = M("SpecGoodsPrice"); // 实例化 商品规格 价格对象
		$specGoodsPrice->where('goods_id = '.$goods_id)->delete(); // 删除原有的价格规格对象
		if($_POST['item'])
		{
			$spec = M('Spec')->getField('id,name'); // 规格表
			$specItem = M('SpecItem')->getField('id,item');//规格项

			foreach($_POST['item'] as $k => $v)
			{
				// 批量添加数据
//				$v['price'] = trim($v['price']);
				$store_count = $v['store_count'] = trim($v['store_count']); // 记录商品总库存
//				$v['sku'] = trim($v['sku']);
				$dataList[] = array('goods_id'=>$goods_id,'key'=>$k,'key_name'=>$v['key_name'],'store_count'=>$v['store_count']);
			}
			$specGoodsPrice->addAll($dataList);
			//M('Goods')->where("goods_id = 1")->save(array('store_count'=>10)); // 修改总库存为各种规格的库存相加
		}

		// 商品规格图片处理
//		if($_POST['item_img'])
//		{
//			M('SpecImage')->where("goods_id = $goods_id")->delete(); // 把原来是删除再重新插入
//			foreach ($_POST['item_img'] as $key => $val)
//			{
//				M('SpecImage')->data(array('goods_id'=>$goods_id ,'spec_image_id'=>$key,'src'=>$val))->add();
//			}
//		}
//		refresh_stock($goods_id); // 刷新商品库存
	}

	/**
	 * 检查积分兑换
	 * @author dyr
	 * @return bool
	 */
	protected function checkExchangeIntegral()
	{
		$exchange_integral = I('exchange_integral', 0);
		$shop_price = I('shop_price', 0);
		$point_rate_value = tpCache('shopping.point_rate');
		$point_rate_value = empty($point_rate_value) ? 0 : $point_rate_value;
		if ($exchange_integral > ($shop_price * $point_rate_value)) {
			return false;
		} else {
			return true;
		}
	}
}
